System and method for facilitating user defined virtual space

ABSTRACT

A system and method for facilitating a user defined virtual space is disclosed. One or more virtual space locations and/or activities may be correlated with user specified geolocations. In some implementations, the user specified geolocations may be verified against one or more spatial requirements prior to recording the user selected space-geolocation correlations. A user request to initiate an action or activity in the virtual space may be received. Prior to executing the requested action or activity in the virtual space, the user current geolocation may be verified against that specified in a space-geolocation correlation corresponding to a virtual space location or activity indicated in the user request.

FIELD OF THE DISCLOSURE

This disclosure relates to facilitating a user defined virtual spacebased on geolocations.

BACKGROUND

Systems that reward users with virtual items for completion ofactivities in real world locations are known. For example, some systemsunlock a virtual item in user inventory upon user's completion of realworld location based activity such as checking into a restaurant orcoffee shop. In another example, some systems generate offers of rarevirtual items to incentivize users to go to real world locations orintroduce friends to real world locations.

Systems that use real world locations to establish game rules are alsoknown. Some systems of those systems use real world locations aspositions on a game board/map. For example, users are required tocapture real world locations specified on the game board/map by sendingtext messages from the real world locations to a game server.

SUMMARY

One aspect of the disclosure relates to facilitate users of virtualspace to correlate real world locations with virtual space locationsand/or virtual space activities. With such facilitations, individualusers may be enabled to customize his or her experiences with virtualspace by selecting real world locations at which desired actions and/oractivities in the virtual space may be initiated and executed in thevirtual space. This may provide a real world layer to the virtual spacesuch that user experience with the virtual space may be enhanced.Simultaneously or alternatively, this may provide users a customizedvirtual space navigation system anchored to real world locations. Such acustomized virtual space may enhance user enjoyment in the virtual spaceas the users move around in the real world in order to participate inthe virtual space.

In some implementations, a system configured to facilitate user definedvirtual space may include one or more processors configured to executeone or more computer program modules. The computer program modules mayinclude one or more of a space module, a user module, aspace-geolocation correlation module, a space-geolocation requestmodule, a user geolocation module, and/or other modules.

The user module may be configured to manage user information associatedwith individual users. The user information may include user selectedspace-geolocation correlations between geolocations and virtual spacelocations and/or virtual space activities. The user information mayinclude first user information associated with a first user, which maycomprise a first space-geolocation correlation between a first virtualspace location and/or a first activity, and a first geolocation.

The space-geolocation correlation module is configured to enable usersto correlate geolocations with virtual space locations and/or virtualspace activities. As enabled by the space-geolocation correlationmodule, a user may specify correlations between actions and/oractivities in the virtual space with geolocations in the real world. Insome implementations, the space-geolocation correlation module may befurther configured such that correlations are recorded when thespace-geolocation correlation module determines the user specifiedgeolocations satisfy one or more spatial requirements, which may be usedto set up one or more geofences. A geofence may include perimeters thatdefine a real-world geographic area. The geofences may be defined byspecifying, for example, a minimum distance between geolocations to becorrelated with the virtual space locations and/or activities, ageometry pattern among geolocations to be correlated with the virtualspace locations (e.g., the geolocations should form a triangle, asquare, a circle, etc.), relative positions between or amonggeolocations based on the virtual space locations to be correlated withthe geolocations (e.g., if virtual space location A lies south ofvirtual space location B in the virtual space, the geolocationcorrelated with virtual space location A must also lies south of thegeolocation correlated with virtual space location B in the real world)and/or any other spatial requirements.

The space-geolocation request module may be configured to generaterequests requesting users to correlate geolocations with virtual spacelocations and/or activities. In some implementations, the requests mayspecify one or more spatial requirements, e.g., such as those describedabove to notify the users that the specified geolocations to becorrelated with the virtual space locations must satisfy these spatialrequirements.

The user geolocation module may be configured to obtain geolocationinformation indicating current geolocations of the users. In someimplementations, such location information regarding the users may beobtained from client devices associated with the users. Geolocationinformation obtained from a client device may specify the geolocation ofthe client device. The geolocation information may be transmittedwirelessly from the client devices. The user geolocation module may beconfigured to obtain the geolocation information in real-time, near-realtime, and/or after a delay. The geolocation information may include oneor more of Internet protocol address, MAC address, RFID information,Wi-Fi connection location, Global Positioning System coordinates, radiofrequency triangulation information, and/or other information.

The space module may be configured to execute an instance of a virtualspace. The space module may implement the instance of the virtual spaceto facilitate participation by users in the virtual space. The spacemodule may be configured to receive user requests to initiate actions atlocations within the virtual space. A user request to initiate an actionin the virtual space may specify an action type associated with therequested action. The action type may be used to obtain a function,method, routine, formula, software module or modules, and/or any othermeans that may be used to execute the requested action. Examples of anaction type may include, but not limited to, defending, attacking,mining, logging, farming, managing, surveying, training, researching,constructing, recruiting and/or any other action types appropriate forthe virtual space. The user requests to initiate an action may alsospecify one or more virtual space objects and/or characters to be actedon, for example, specific buildings (e.g., farm, bank, barrack, mill,lumber yard, etc.), resources (e.g., iron, gold, oil, coal, etc.),troop, knights and so on.

The space module may be configured to execute user requested actions atvirtual space locations in an instance of the virtual space. The virtualspace locations may include, but not limited to, areas designated as acity, realm, kingdom, state, nation, culture or the like, tiles forimprovements (e.g., resource tiles that may be mined, food tiles thatmay be farmed, land tile that may be used to construct buildings, etc.),topology (e.g., road, hill, ocean, desert, lake, swamp, etc.) and/or anyother locations appropriate for the virtual space. Prior to executingthe user requested action in a virtual space location, the space modulemay be configured to verify the current geolocation of the requestinguser against the geolocation specified in the correlation relating tothe virtual space location where the requested action is to be executed.This may involve obtaining the correlation from the requesting useraccount based on the virtual space location where the user requestedaction is to be executed, obtaining the current geolocation of therequesting user, and determine whether the current geolocation of therequesting user matches the geolocation specified in the obtainedcorrelation. In the event where a match is found, the requested useraction may be executed in the virtual space location. In the event wherea match is not found, the requested user action may not be executed inthe virtual space location.

The space module may be configured to receive user requests toparticipate in activities in the virtual space and execute thoseactivities. The user requested activities may include, but not limitedto, initiating virtual space transactions (e.g., buying or sellingvirtual items, ordering services provided by the virtual space, and/orany other virtual space transactions), partaking in a mission, quest,campaign, expedition, training, tutorial, research and/or so on in thevirtual space, consulting a virtual space expert (e.g., asking virtualconsultants questions about performing diplomacy in the virtual space),messaging other users (e.g., texting, text chatting, voice chatting,etc.), convening (e.g., conducting an alliance meeting, voting in analliance meeting, etc.) and/or any other virtual space activities.

In some implementations, prior to executing the user requestedactivities, the space module may be configured to verify the currentgeolocation of the requesting user against the geolocation specified inthe correlation relating to the requested activities. This may involveobtaining the correlation from the requesting user account based on theuser requested activities, obtaining the current geolocation of therequesting user, and determine whether the current geolocation of therequest user matches the geolocation specified in the obtainedcorrelation. In the event where a match is found, the requested useractivities may be executed. In the event where a match is not found, therequested user activities may not be executed.

These and other features, and characteristics of the present technology,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention. As usedin the specification and in the claims, the singular form of “a”, “an”,and “the” include plural referents unless the context clearly dictatesotherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system configured to facilitate a userdefined virtual space.

FIG. 2 illustrates one exemplary method of facilitating a user definedvirtual space.

FIG. 3 illustrates another exemplary method of facilitating a userdefined virtual space.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 configured to facilitate user definedvirtual space based on geolocations. The virtual space may be customizedby a user by selecting a space-geolocation correlation. Thespace-geolocation correlation may specify a correlation between avirtual space location and/or activity, and a geolocation in the realworld such that an action to be executed at that virtual space locationor the activity to be executed in the virtual space must be requested bythe user at the correlated geolocations. Spatial requirements may bespecified for the user selected geolocations in the space-geolocationcorrelations such that the user selected geolocations must conform tothe spatial requirements that may reflect geographic relationshipbetween or among virtual space locations. In some implementations,system 100 may include a server 102. The server 102 may be configured tocommunicate with one or more client computing platforms 104 according toa client/server architecture. The users may access system 100 and/or thevirtual space via client computing platforms 104.

Server 102 may be configured to execute one or more computer programmodules. The one or more computer program modules may include one ormore of a space module 106, a user module 108, a space-geolocationcorrelation module 110, a space-geolocation request module 112, a usergeolocation module 114, and/or other modules.

The user module 108 may be configured to manage one or more userprofiles and/or user information associated with users of the system100. The one or more user profiles and/or user information may includeinformation stored by server 102, one or more of the client computingplatforms 104, and/or other storage locations. The user profile and/oruser information may include, among other things, user selectedcorrelations between geolocations and virtual space locations and/orvirtual space activities. As used herein, such a correlation will bereferenced as a space-geolocation correlation. For example, a user mayspecify a space-geolocation correlation such that a virtual spacelocation, e.g., a city controlled by the user in the virtual space, maycorrespond to a geolocation that identifies real world location, e.g., aliving room in the user's residence in the real world. In anotherexample, the user may specify a space-geolocation correlation between avirtual space activity, e.g., initiating virtual space transaction suchas purchasing a virtual item, and a geolocation that identifies a realworld location, e.g., a grocery store. Such user selectedspace-geolocation correlations may be recorded in the user profileand/or user information such that they may be accessed by the usermodule 108 and/or other modules of system 100.

The space-geolocation correlation module 110 may be configured to enableusers to correlate geolocations with virtual space locations and/orvirtual space activities. In some implementations, a user interface(e.g., graphical, command line, voice and/or any other interfaces) maybe provided by the space-geolocation correlation module 110 such that auser may correlate a geolocation with a virtual space location and/orvirtual space activity through the user interface. For example, the usermay be located in his/her living room at one instance and specify,through the user interface, that the current geolocation of theuser—i.e., the living room should be correlated with a city that theuser controls in the virtual space. In some examples, the user mayspecify such space-geolocation correlations by walking aroundgeolocations in the real world; at each geolocation, the user may sendthe space-geolocation correlation module 110 a selection command, e.g.,a tap, touch, or click on the virtual space location or virtual spaceactivity, a voice command indicating a virtual space location or virtualspace activity, and/or any other appropriate selection command thatselects a virtual space location or virtual space activity to instructthe space-geolocation correlation module 110 to correlate the currentuser geolocation with the selected virtual space location or virtualspace activity. In some implementations, the space-geolocationcorrelation module 110 may be configured to obtain current geolocationof the user from the user-geolocation module 114.

In any case, responsive to a user selection of space-geolocationcorrelation between a geolocation and virtual space location and/or avirtual space activity, the space-geolocation correlation module 110 maybe configured to record the specified correlations in user profile oruser information. In some implementations, the space-geolocationcorrelation module 110 may be configured to ensure that the geolocationsspecified in the user selected space-geolocation correlations satisfyone or more spatial requirements. The spatial requirements may beconfigured with the space-geolocation correlation module 110 (e.g., asprogrammed rules, triggers, conditions and so on) at a configurationstage of the space-geolocation correlation module 110. In someimplementations, the spatial requirements may be configured dynamicallyduring a runtime of the system 100 by a provider, administrator,operator and/or any other entity related to the virtual space.

In some examples, the spatial requirements may include one or morerequirements setting up perimeters that may define a real-worldgeographic area, e.g., a geofence. For example, the spatial requirementsmay specify that the geolocations to be correlated with specific citiesin the virtual space must form a geometry pattern, e.g., a triangle, toreflect the geographical relationship among those cities in the virtualspace, e.g., the cities forming a tri-state area in the virtual space.It is understood the geometry pattern specified by a requirement mayinclude any patterns or shapes desired by the entity that sets up therequirement. In another example, the spatial requirements may specify aminimum distance between geolocations to be correlated with the virtualspace locations and/or activities. For instance, the spatialrequirements may specify that a geolocation corresponding to city A inthe virtual space must lie at least 50 feet away from anothergeolocation corresponding to city B in the virtual space.

In some examples, the spatial requirements may specify that thegeolocations to be correlated with the virtual space locations and/oractivities must follow a direction arrangement. For instance, thespatial requirements may specify that a geolocation corresponding tocity A in the virtual space must lie in the south of another geolocationcorresponding to city B in the virtual space. In some examples, thespatial requirements may specify a type associated with geolocation tobe correlated with the virtual space locations and/or activities. Forinstance, the spatial requirements may specify that a geolocationcorrelated with a marketplace in the virtual space must identify a realworld grocery store. In those examples, the space-geolocationcorrelation module 110 may be configured to obtain real world locationinformation (e.g., information indicating locations of specificrestaurants, coffee shops, grocery stores, etc.) to facilitate adetermination whether the current user geolocation identifies a type ofreal world location as required.

In any case, the space-geolocation correlation module 110 may beconfigured to verify whether the specified geolocation in a userselected correlation satisfies the spatial requirements prior torecording the correlation. For example, in the case where a geometrypattern of triangle is specified for the geolocations to be correlatedwith three virtual space locations, i.e., city A, B, C in the virtualspace, the space-geolocation correlation module 110 may receive threegeolocations specified by a user instructing the space-geolocationmodule 110 to correlate them with city A, B, C. In that case, thespace-geolocation module 110 may be configured (e.g., through triggers)to verify whether the three geolocations specified by the user conformto the spatial requirements specifying the triangle. This may involvecomputing a geometry shape formed by the three geolocations specified bythe user and comparing the computed geometry shape with that specifiedin the spatial requirements. Responsive to the result of the comparison,the space-geolocation correlation 110 module may be configured todetermine whether to record space-geolocation correlations selected bythe user. For example, in the event that the space-geolocationcorrelation module 110 determines that the geometry shape formed by theuser specified geolocations in the user selected space-geolocationcorrelations does not conform to that specified in the spatialrequirements, the space-geolocation correlation module 110 may notrecord the user selected correlations and may, in some implementations,generate a message to alert, e.g., through the user interface providedby the space-geolocation correlation module 110, the user that specifiedgeolocations in the selected correlations do not satisfy the spatialrequirements for the corresponding virtual space locations and/oractivities and thus the specified correlations are not recorded.

Similarly, in the case where a minimum distance requirement is specifiedfor geolocations to be correlated with virtual space locations and/oractivities, the space-geolocation module 110 may be configured toreceive user specified geolocations in user selected correlations,compute a distance between the user specified geolocations, and comparethe computed distance with the minimum distance specified in the spatialrequirements. For the direction arrangement specified in the spatialrequirements, the space-geolocation correlation module 110 may beconfigured to compute the relative direction between or among the userspecified geolocations and compare the computed relative direction withthat specified in the spatial requirements. Based on the results ofthese comparisons, the space-geolocation correlation module 110 maysimilarly determine whether to record the user selected correlations orgenerate error messages notifying the user that the specifiedgeolocations do not satisfy the spatial requirements.

For spatial requirements that specify that geolocations correlated withvirtual space locations and/or activities should identify real worldlocations having required types, such as but not limited to, restaurant,coffee shop, grocery store, internet bar, and so on, thespace-geolocation correlation module 110 may be configured to obtainreal world location information. Based on the real world locationinformation, the space-geolocation correlation module 110 may beconfigured to determine whether the user specified geolocations in theuser selected space-geolocation correlations identify real worldlocations associated with the required type as specified in the spatialrequirements. For example, the spatial requirements may specify thatgeolocations to be correlated with a marketplace in the virtual spacemust identify locations of grocery stores in the real world. In thatexample, a user may correlate geolocation A with the marketplace in thevirtual space, e.g., through the user interface provided by thespace-geolocation request module 110. Upon receiving such a correlationselection from this user, the space-geolocation module 110 may beconfigured to obtain real world location information about the specifiedgeolocation—i.e. geolocation A, e.g., from a real world locationinformation provider like GoogleMap™. The obtained location informationmay include a real world location type associated with geolocation A.This real world location type may be compared with the requiredgeolocation type for the marketplace in the virtual space, i.e. grocerystores for a determination whether the user specified geolocation A is agrocery store as required by the spatial requirements. In the eventwhere it is determined that the geolocation A is not a grocery store,the space-geolocation correlation module 110 may be configured not torecord the user selected space-geolocation correlation and may generatean error message to alert that the user selected space-geolocationcorrelation was not recorded.

The space-geolocation request module 112 may be configured to generaterequests requesting users of the virtual space to correlate geolocationswith virtual space locations and/or activities. For example, therequests may be generated to include one or messages instructing theusers to correlate virtual space locations and/or activities withgeolocations in the real world. Such requests may be generated at aninception of user's experience with the virtual space. For instance, anew user of the virtual space may be prompted to correlate virtual spacelocations and/or activities available to the new user when the new userlogs into the virtual space for the first time. In some examples, therequests may be generated and provided to the users in the virtual spacedynamically during a runtime of the system 100. For example, therequests may be generated when one or more cities, kingdoms, missions,quests, campaigns and etc. are unlocked for the user.

In any case, such requests may be provided to the user, e.g., through auser interface. In some implementations, the requests may also includespecifications of spatial requirements, for example those describedabove, to notify the user that the specified geolocations to becorrelated with the virtual space locations and activities must satisfythe spatial requirements stipulated. In some implementations, suchrequests may be provided to the users such that the users may not ignorethe requests until the required correlations have been specified by theuser and satisfy the spatial requirements. In some otherimplementations, such requests may be provided to the user as the usermove around geolocations in the virtual space. For example, as the userwalks around in geolocations that are not already recorded by thespace-geolocation correlation module 110 as correlated with virtualspace locations and/or activities, the space-geolocation request module112 may generate requests requesting the user to select virtual spacelocations and/or activities to be correlated with those geolocations.

The user geolocation module 114 may be configured to obtain geolocationinformation indicating current geolocations of the users. In someimplementations, such location information regarding the users may beobtained from client devices associated with the users, such as theclient devices 104 as illustrated. The geolocation information obtainedfrom the client devices 104 may specify the physical locations of clientdevices 104. The geolocation information may include one or more ofInternet protocol address, MAC address, RFID information, Wi-Ficonnection location, Global Positioning System coordinates, radiofrequency triangulation information, information entered to clientdevice 104 by a user (e.g., specifying the location of client 104),and/or other information that may identify a real world location. Theuser geolocation module 116 may be configured to obtain geolocationinformation of one or more of client device 104 in a substantiallyongoing manner (e.g., at a sampling rate), at discrete intervals,responsive to user selection or input, and/or according to otherschemes. The user geolocation module 116 may be configured to obtaingeolocation information that has been transmitted wirelessly from clientdevices 104. The user geolocation module 116 may be configured to obtaingeolocation information that has been stored at client devices 104 fortransmission to user geolocation module 116 at a later time (e.g., whendocked to a computer). The user geolocation module 116 may be configuredto manage storage of geolocation of client devices 104. This mayfacilitate determination of the geolocation of one of client device 104at some previous time.

Space module 106 may be configured to implement an instance of thevirtual space executed by the computer modules. The instance of thevirtual space may provide a state of the virtual space at a particulartime. The instance of the virtual space may be used to push stateinformation to clients for implementation on the clients, may be used toverify state information generated on clients executing expressions ofthe instance locally, and/or for other purposes. State information mayinclude information about the state of the virtual space such as,without limitation, position information of one or more objects,topography information, object status/shape information, battleinformation, score information, user or character progress information,user inventory information, progress information for one or moreactivities or actions, view information describing a view of the virtualspace, and/or other information that describes the state of the virtualspace. Expressions of the instance executed on the clients facilitatepresentation of views on the clients of the virtual space. Expressionsof the instance executed on the clients may be configured to simplypresent views of the virtual space based on the state information (e.g.,via streaming view information, object/position information, and/orother state information) received from space module 106. Expressions ofthe instance executed on the clients may include space logic thateffectively provides for execution of a limited version of the instanceon a client that is synchronized and/or verified with state informationreceived from space module 106. The view presented on a given client maycorrespond to a location in the virtual space (e.g., the location fromwhich the view is taken, the location the view depicts, and/or otherlocations), a zoom ratio, a dimensionality of objects, a point-of-view,and/or view parameters. One or more of the view parameters may beselectable by the user.

The instance of the virtual space may comprise a simulated space that isaccessible by users via clients (e.g., client computing platforms 104)that present the views of the virtual space to a user. The simulatedspace may have a topography, express ongoing real-time interaction byone or more users, and/or include one or more objects positioned withinthe topography that are capable of locomotion within the topography. Insome instances, the topography may be a 2-dimensional topography. Inother instances, the topography may be a 3-dimensional topography. Thetopography may include dimensions of the space, and/or surface featuresof a surface or objects that are “native” to the space. In someinstances, the topography may describe a surface (e.g., a groundsurface) that runs through at least a substantial portion of the space.In some instances, the topography may describe a volume with one or morebodies positioned therein (e.g., a simulation of gravity-deprived spacewith one or more celestial bodies positioned therein). The instanceexecuted by the computer modules may be synchronous, asynchronous,and/or semi-synchronous.

Within the simulated space, boundaries may be established to divide thesimulated space into bounded areas. For example, a city, state, realm,domain, kingdom, culture, colony, tribe and/or any other bounded areasmay be designated by boundaries in the simulated space. Walls, borders,barbwires, designations like milestones, or the like may be establishedalong the designated boundaries to signify existence of the boundedareas in the virtual space. The bounded areas, e.g., cities, kingdoms,culture, colony, tribe or the like, may be assigned to users, forexample, when the users join the virtual space. The assigned boundedarea, e.g., cities may be controlled by the corresponding user such thatthe user may develop, manage, regulate, defend, and/or demolish the usercontrolled cities. For example, development of a city may be performedby constructing buildings inside the city to achieve, for example,science, defense, economy, resource, and so on. Examples of buildings inthe virtual space may include, but not limited to, alchemy lab, barrack,blacksmith, castle, cottage, embassy, farm, market, mine, rally point,relief station, stable, store house, road, tavern, hospital, wall, watchtower, workshop, wind mill, zoo and/or any buildings appropriate for thevirtual space. Management and/or regulation of the a city may beperformed through user interface by adjusting various parameters, suchas labor assigned to work in the city, number of entertainers assignedto the city, percentage of income to be taxed, funds assigned forenvironment protection and etc.

Bounded areas like cities may be attacked or defended. For example,attacking a city may involve sending knights and troop to siege the cityby pounding the city walls, destroying watch towers, catapultingexplosives into the city and/or any offensive means provided by thevirtual space. The attacking may involve destroying building, lootingbuildings, reducing city population, and the like. Defending may involvestrengthening city walls, building moats, protecting buildings (e.g., byadding protective layers), transferring wealth, hiding food, migratingcity denizens, and so on.

The above description of the virtual space determined from the instanceexecuted by space module 106 is not intended to be limiting. The virtualspace may be presented in a more limited or richer manner. For example,views of the virtual space may be selected from a limited set ofgraphics depicting an event in a given place within the virtual space.The views may include additional content (e.g., text, audio, pre-storedvideo content, and/or other content) that describes particulars of thecurrent state of the place, beyond the relatively generic graphics. Forexample, a view may include a generic battle graphic with a textualdescription of the opponents to be confronted. Other representations ofindividual places within the virtual space are contemplated.

Within the instance of the virtual space executed by space module 106,users may control characters, objects, simulated physical phenomena(e.g., wind, rain, earthquakes, and/or other phenomena), and/or otherelements within the virtual space to interact with the virtual spaceand/or each other. The user characters may include avatars. As usedherein, the term “user character” may refer to an object (or group ofobjects) present in the virtual space that represents an individualuser. The user character may be controlled by the user with which it isassociated. The user controlled element(s) may move through and interactwith the virtual space (e.g., non-user characters in the virtual space,other objects in the virtual space). The user controlled elementscontrolled by and/or associated with a given user may be created and/orcustomized by the given user. The user may have an “inventory” ofvirtual goods and/or currency that the user can use (e.g., bymanipulation of a user character or other user controlled element,and/or other items) within the virtual space.

The users may participate in the instance of the virtual space bycontrolling one or more of the available user controlled elements in thevirtual space. Control may be exercised through control inputs and/orcommands provided by the users through client computing platforms 104.The control inputs and/or commands provided by the user may specify anaction involving controlled elements at a virtual space location. Such auser initiated action in the virtual space may change the state of thevirtual space at an instance when the action is executed in the virtualspace. For example, a user, e.g., through the client device 104, maysend a command to the space module 106, wherein the command may initiatean action of building a farm in a virtual space location, e.g., at alocation inside a city controlled by the user. The space module 106 mayexecute this user initiated action by updating the state informationaffecting the location where the user wants to build the farm. Forexample, the state information may be updated to associate a 2D art of afarm (e.g., an image of the farm) with the location such that when thevirtual space state information is transmitted to the client device 104,a representation of a farm may be expressed on the client device 104being at the location in the virtual space.

A user request to initiate an action in the virtual space may specify anaction type associated with the requested action. Examples of an actiontype may include, but not limited to, defending, attacking, mining,logging, farming, managing, surveying, training, researching,constructing, recruiting and/or any other action types appropriate forthe virtual space. For different action types, different function(s),method(s), routine(s), formula(s), software module(s), and/or any othermeans corresponding to the action types may be invoked by the spacemodule 106 to execute the associated actions. For example, an actionhaving a type of building, i.e. a building action may be executed by thevirtual space module 106 by invoking a routine that produces an on-goingeffect of construction in the virtual space, e.g., associating differentimages representing different stages in which a structure us being builtat a virtual space location.

The user requests to initiate an action in the virtual space may specifyone or more virtual space objects and/or characters to be acted on, forexample, specific buildings (e.g., farm, bank, barrack, mill, lumberyard, etc.), resources (e.g., iron, gold, oil, coal, etc.), troop,knights and so on. Different objects and/or characters may be associatedwith different action types. For example, a farm may be built,demolished and/or subjected to any other actions appropriate for thefarm in a virtual space location, but may not be moved, trained, and/orhealed. In contrast, a knight may be moved, trained, healed and/orsubjected to any other actions appropriate for the knight in the virtualspace, but may not be built and/or demolished. The set of actions a usermay initiate on objects and/or characters in the virtual space may bedetermined and/or configured by the provider, administrator, moderatorand/or any other entity related to virtual space. In some examples, thismay involve creating different representational arts for an objectand/or character representing different states (e.g., different imagesmay be created to correspond to different completion stages of a farm:25%, 50%, 75%, and 100% built). Kinematics, e.g., movements, may bedefined for objects and/or characters such that their states of motionmay be adapted according to the user initiated action.

The user requests to initiate an action in the virtual space may specifya virtual space location where the requested action may be executed. Avirtual space location at which a user requested action may be executedmay be defined as an area, in however shape and size, by the provider,administrator, moderator and/or any other entities related to thevirtual space. For example, a location inside a city in the virtualspace may be used to build different infrastructure in the city (e.g.,farm, barrack, city hall, bank, etc.). The user may initiate an actionto be executed at virtual space location, for example, through a menuprovided by the system 100. For instance, the user may tap on, e.g.,through a right mouse click, on the location where the user wants tobuild a farm to display a pull down menu, which provides a list ofactions that may be executed in that location; and select from a pulldown menu to build a farm at that location. Like the characters and/orobjects in the virtual space, the locations in the virtual space may beassociated with different action types appropriate to the locations. Forexample, a city may be managed, defended, attacked, regulated, and/orsubjected to any other appropriate actions as defined; a topology may bemined, improved (e.g., with roads), ploughed, irrigated, attacked and/orany other subjected to any other appropriate actions as defined; and soon.

The space module 106 may be configured to verify the current geolocationof the requesting user against the geolocation specified in a userselected space-geolocation correlation corresponding to the virtualspace location where the requested action is to be executed prior toexecuting the user requested action in the virtual space. In someimplementations, this may involve obtaining a correlation recorded inthe requesting user information based on the virtual space location atwhich the user requested action is to be executed. For example, thespace module 106 may be configured to determine a virtual space locationwhere the requested action is to be executed; a space-geolocationcorrelation corresponding to this virtual space location as selected bythe requesting user; and a geolocation where the client device 104should be located when executing the requested action. In that example,the space module 106 may be configured to obtain the current geolocationof the requesting user, e.g., from the user geolocation module 116, andcompare the obtained current geolocation of the user with that specifiedin the user selected space-geolocation correlation. In the event wherethe current geolocation of the requesting user (e.g., the currentgeolocation of client device 104) is determined to match the geolocationspecified in the user selected space-geolocation corresponding to thevirtual space location where the requested action is to be executed, therequested user action may be executed by the space module 106 at in thatvirtual space location. In the event where such a match is not found,the requested user action may not be executed by the space module 106 atthat virtual space location.

In some implementations, the space module 106 may be configured toreceive user requests to participate in activities in the virtual spaceand execute those activities. The user requested activities may include,but not limited to, initiating virtual space transactions (e.g., buyingor selling virtual items, ordering services provided by the virtualspace, and/or any other virtual space transactions), partaking in amission, quest, campaign, expedition, training, tutorial, researchand/or so on in the virtual space, consulting a virtual space expert(e.g., asking virtual consultants questions about performing diplomacyin the virtual space), messaging other users (e.g., texting, textchatting, voice chatting, etc.), convening (e.g., conducting an alliancemeeting, voting in an alliance meeting, etc.) and/or any other virtualspace activities. In some examples, such user activities may not beassociated with virtual space locations. For example, some userinitiated transactions like upgrading a weapon in user inventory may beexecuted at any virtual space location.

In those implementations, prior to executing the user requestedactivities, the space module may be configured to verify the currentgeolocation of the requesting user against the geolocation specified inthe user selected space-geolocation correlation corresponding to theuser requested activities. This may involve obtaining the correlationfrom the requesting user account based on the user requested activities,obtaining the current geolocation of the requesting user, and determinewhether the current geolocation of the requesting user matches thegeolocation specified in the obtained space-geolocation correlation. Inthe event where a match is found, the requested user activities may beexecuted. In the event where a match is not found, the requested useractivities may not be executed.

The users may interact with each other through communications exchangedwithin the virtual space. Such communications may include one or more oftextual chat, instant messages, private messages, voice communications,and/or other communications. Communications may be received and enteredby the users via their respective client computing platforms 104.Communications may be routed to and from the appropriate users throughserver 102 (e.g., through space module 106).

The server 102, client computing platforms 104, and/or externalresources 108 may be operatively linked via one or more electroniccommunication links. For example, such electronic communication linksmay be established, at least in part, via a network such as the Internetand/or other networks. It will be appreciated that this is not intendedto be limiting, and that the scope of this disclosure includesimplementations in which servers 102, client computing platforms 104,and/or external resources 118 may be operatively linked via some othercommunication media.

A given client computing platform 104 may include one or more processorsconfigured to execute computer program modules. The computer programmodules may be configured to enable an expert or user associated withthe given client computing platform 104 to interface with system 100and/or external resources 118, and/or provide other functionalityattributed herein to client computing platforms 104. By way ofnon-limiting example, the given client computing platform 104 mayinclude one or more of a desktop computer, a laptop computer, a handheldcomputer, a tablet computing platform, a NetBook, a Smartphone, a gamingconsole, and/or other computing platforms.

External resources 118 may include sources of information, hosts and/orproviders of virtual environments outside of system 118, externalentities participating with system 100, and/or other resources. Forexample, the influence information module 108 may be configured toobtain the information indicating a user's influence in the virtualspace from the external resources 118. In some implementations, some orall of the functionality attributed herein to external resources 118 maybe provided by resources included in system 100.

Server 102 may include electronic storage 116, one or more processors120, and/or other components. Server 102 may include communicationlines, or ports to enable the exchange of information with a networkand/or other computing platforms. Illustration of server 102 in FIG. 1is not intended to be limiting. Server 102 may include a plurality ofhardware, software, and/or firmware components operating together toprovide the functionality attributed herein to server 102. For example,server 102 may be implemented by a cloud of computing platformsoperating together as server 102.

Electronic storage 122 may comprise non-transitory storage media thatelectronically stores information. The electronic storage media ofelectronic storage 122 may include one or both of system storage that isprovided integrally (i.e., substantially non-removable) with server 102and/or removable storage that is removably connectable to server 102via, for example, a port (e.g., a USB port, a firewire port, etc.) or adrive (e.g., a disk drive, etc.). Electronic storage 116 may include oneor more of optically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.),and/or other electronically readable storage media. Electronic storage122 may include one or more virtual storage resources (e.g., cloudstorage, a virtual private network, and/or other virtual storageresources). Electronic storage 122 may store software algorithms,information determined by processor 120, information received fromserver 102, information received from client computing platforms 104,and/or other information that enables server 102 to function asdescribed herein.

Processor(s) 120 is configured to provide information processingcapabilities in server 102. As such, processor 120 may include one ormore of a digital processor, an analog processor, a digital circuitdesigned to process information, an analog circuit designed to processinformation, a state machine, and/or other mechanisms for electronicallyprocessing information. Although processor 120 is shown in FIG. 1 as asingle entity, this is for illustrative purposes only. In someimplementations, processor 120 may include a plurality of processingunits. These processing units may be physically located within the samedevice, or processor 120 may represent processing functionality of aplurality of devices operating in coordination. The processor 120 may beconfigured to execute modules 106, 108, 110, 112, 114 and/or othermodules. Processor 120 may be configured to execute modules 106, 108,110, 112, 114 and/or other modules by software; hardware; firmware; somecombination of software, hardware, and/or firmware; and/or othermechanisms for configuring processing capabilities on processor 120. Asused herein, the term “module” may refer to any component or set ofcomponents that perform the functionality attributed to the module. Thismay include one or more physical processors during execution ofprocessor readable instructions, the processor readable instructions,circuitry, hardware, storage media, or any other components.

It should be appreciated that although modules 106, 108, 110, 112, 114are illustrated in FIG. 1 as being implemented within a singleprocessing unit, in implementations in which processor 120 includesmultiple processing units, one or more of modules 106, 108, 110, 112,114 may be implemented remotely from the other modules. The descriptionof the functionality provided by the different modules 106, 108, 110,112, 114 described below is for illustrative purposes, and is notintended to be limiting, as any of modules 106, 108, 110, 112, 114 mayprovide more or less functionality than is described. For example, oneor more of modules 106, 108, 110, 112, 114 may be eliminated, and someor all of its functionality may be provided by other ones of modules106, 108, 110, 112, 114. As another example, processor 120 may beconfigured to execute one or more additional modules that may performsome or all of the functionality attributed below to one of modules 106,108, 110, 112, 114.

FIG. 2 illustrates one exemplary method of facilitating a user definedvirtual space. The operations of method 200 presented below are intendedto be illustrative. In some embodiments, method 200 may be accomplishedwith one or more additional operations not described, and/or without oneor more of the operations discussed. Additionally, the order in whichthe operations of method 60 are illustrated in FIG. 2 and describedbelow is not intended to be limiting.

In some embodiments, method 200 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 200 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 200.

At an operation 202, a request requesting a user to correlate a virtualspace location and/or a virtual space location with a geolocation may begenerated. In some implementations, operation 202 may be performed by aspace-geolocation request module the same as or similar to triggermodule 112 (shown in FIG. 1 and described herein).

At an operation 204, the generated request may be provided to the user.For example, the request may be provided to the user via a userinterface (e.g., graphical and/or command line). In someimplementations, operation 204 may be performed by a space-geolocationrequest module the same as or similar to trigger module 112 (shown inFIG. 1 and described herein).

At an operation 206, a user selected correlation between a userspecified geolocation and the virtual space location and/or the virtualspace activity may be obtained. In some implementations, operation 204may be performed by a space-geolocation correlation module the same asor similar to trigger module 110 (shown in FIG. 1 and described herein).

At an operation 208, the user specified geolocation may be verified withone or more spatial requirements. In some implementations, operation 208may be performed by a space-geolocation correlation module the same asor similar to trigger module 110 (shown in FIG. 1 and described herein).

At an operation 210, a determination whether the user specifiedgeolocation satisfies the spatial requirements may be made. In someimplementations, operation 210 may be performed by a space-geolocationcorrelation module the same as or similar to trigger module 110 (shownin FIG. 1 and described herein).

In the even where operation 210 determines that the user specifiedgeolocation does not satisfy the spatial requirements, the method 200may proceed to the end as illustrated. In the event where operation 210determines that the user specified geolocation satisfies the spatialrequirement, the method 200 may proceed to operation 212.

At an operation 212, the user selected correlation between the userspecified geolocation and the virtual space location and/or activity maybe recorded. In some implementations, operation 212 may be performed bya space-geolocation correlation module the same as or similar to triggermodule 110 (shown in FIG. 1 and described herein).

FIG. 2 illustrates another exemplary method of facilitating a userdefined virtual space. The operations of method 300 presented below areintended to be illustrative. In some embodiments, method 300 may beaccomplished with one or more additional operations not described,and/or without one or more of the operations discussed. Additionally,the order in which the operations of method 60 are illustrated in FIG. 2and described below is not intended to be limiting.

In some embodiments, method 300 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 300 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 300.

At an operation 302, an instance of a virtual space may be executed andimplemented to facilitate user participation in the virtual space. Theusers may participate in the virtual space by initiating a request toexecute an action and/or activity in the virtual space. The user requestto execute the action and/or activity may specify an action type and/oractivity type. In some implementations, operation 302 may be performedby a space module the same as or similar to space module 106 (shown inFIG. 1 and described herein).

At an operation 304, a user request that initiates an action at virtuallocation or participate in virtual space activity is received. In someimplementations, operation 302 may be performed by a space module thesame as or similar to space module 106 (shown in FIG. 1 and describedherein).

At an operation 306, a space-geolocation correlation based on thevirtual space location or activity indicated by the user request, asreceived in operation 304, may be obtained. In some implementations,operation 306 may be performed by a user module the same as or similarto user module 108 (shown in FIG. 1 and described herein).

At an operation 308, a current geolocation of the user may be obtained.In some implementations, operation 308 may be performed by a usergeolocation module the same as or similar to user geolocation module 108(shown in FIG. 1 and described herein).

At an operation 310, the obtained current user geolocation may becompared with that specified in the space-geolocation correlationcorresponding to the virtual space location activity indicated the userrequest. In some implementations, operation 310 may be performed by aspace module the same as or similar to space module 106 (shown in FIG. 1and described herein).

At an operation 312, a determination whether the current usergeolocation matches the geolocation specified in the space-geolocationcorrelation obtained in the operation 306 may be made. In someimplementations, operation 312 may be performed by a space module thesame as or similar to space module 106 (shown in FIG. 1 and describedherein).

In the event where it is determined that the current user geolocationdoes not match the geolocation specified in the correlation obtained inthe operation 306, the method proceeds to an end, as shown. In theevent, where such a match is found, the method 200 proceeds to operation314.

At an operation 314, the requested action or activity may be executed.In some implementations, operation 314 may be performed by a spacemodule the same as or similar to space module 106 (shown in FIG. 1 anddescribed herein).

Although the present technology has been described in detail for thepurpose of illustration based on what is currently considered to be themost practical and preferred implementations, it is to be understoodthat such detail is solely for that purpose and that the technology isnot limited to the disclosed implementations, but, on the contrary, isintended to cover modifications and equivalent arrangements that arewithin the spirit and scope of the appended claims. For example, it isto be understood that the present technology contemplates that, to theextent possible, one or more features of any implementation can becombined with one or more features of any other implementation.

What is claimed is:
 1. A system configured to facilitate user definedvirtual space, the system comprising: one or more processors configuredby machine-readable instructions to: execute an instance of a virtualspace, and to implement the instance of the virtual space to facilitateuser participation in the virtual space, wherein user participation inthe virtual space is facilitated by receiving user requests to initiateactions at locations within the virtual space and executingcorresponding actions in the instance, wherein an individual userrequest specifies an action type in a virtual space location; manageuser information associated with the individual users, the userinformation including user selected space-geolocation correlationsbetween geolocations and virtual space locations such that the useraccounts include first user information associated with the first userthat includes a first space-geolocation correlation between a firstvirtual space location and a first geolocation; and obtain geolocationinformation indicating current geolocations of the users; and wherein,responsive to receiving a request from the first user that specifies thefirst action type, and responsive to the current geolocation of thefirst user being the first geolocation, an action of the first actiontype is executed in the instance of the virtual space at the firstvirtual space location.
 2. The system of claim 1, wherein the one ormore processors are further configured by machine-readable instructionsto enable users to correlate geolocations with virtual space locationssuch that the first space-geolocation correlation is recorded by thefirst user by specifying that the first geolocation corresponds to thefirst virtual space location.
 3. The system of claim 2, wherein the oneor more processors are further configured by machine-readableinstructions such that the first space-geolocation correlation isrecorded responsive to a determination that the first geolocationsatisfies one or more spatial requirements.
 4. The system of claim 3,wherein the spatial requirements comprises one or more of: a minimumdistance between geolocations correlated with corresponding virtualspace locations; a geometry pattern among geolocations correlated withcorresponding virtual space locations; a position requirement specifyingrelative positions between or among geolocations based on the virtualspace locations to correlated with the geolocations; a real worldlocation type associated with a geolocation correlated with thecorresponding virtual space location.
 5. The system of claim 1, whereinthe one or more processors are further configured by machine-readableinstructions to generate requests requesting users to correlategeolocations with virtual space locations, the requests including afirst request requesting the first user to correlate the first virtualspace location with a geolocation.
 6. The system of claim 5, wherein theone or more processors are further configured by machine-readableinstructions to specify in the first request one or more spatialrequirements to be satisfied by the first geolocation.
 7. The system ofclaim 1, wherein the first user action type is defending, attacking,mining, logging, farming, managing, surveying, training, researching,constructing, or recruiting.
 8. The system of claim 1, wherein theindividual user request further specifies an activity type in thevirtual space and the user information further include user selectedspace-geolocation correlations between geolocations and activity typesin the virtual space such that the user information include first userinformation associated with the first user that includes a secondcorrelation between a first activity type and a second geolocation, andwherein the one or more processors are further configured bymachine-readable instructions such that responsive to receiving arequest from the first user that specifies the first activity type, andresponsive to the current geolocation of the first user being the secondgeolocation, an activity of the first activity type is executed in theinstance of the virtual space.
 9. The system of claim 8, wherein thefirst activity type is buying virtual items, selling virtual items,completing a quest, participating in a tournament, performing diplomacy,consulting with a virtual space expert, forming an alliance, conductingan alliance meeting or messaging one or more other users in the virtualspace.
 10. A computer-implemented method of facilitating user definedvirtual space, the method being implemented in one or more physicalprocessors configured by machine-readable instructions, the methodcomprising: executing an instance of a virtual space; implementing theinstance of the virtual space to facilitate user participation in thevirtual space, wherein the user participation in the virtual space isfacilitated by receiving user requests to initiate actions at locationswithin the virtual space and executing corresponding actions in theinstance, wherein an individual user request specifies an action type ina virtual space location; managing user information associated with theindividual users, the user information including user specifiedspace-geolocation correlations between geolocations and virtual spacelocations such that the user information include a first userinformation associated with the first user that includes a firstspace-geolocation correlation between a first virtual space location anda first geolocation; obtaining geolocation information indicatingcurrent geolocations of the users; and responsive to receiving a requestfrom the first user that specifies the first action type, and responsiveto the current geolocation of the first user being the firstgeolocation, executing an action of the first action type in theinstance of the virtual space at the first virtual space location. 11.The method of claim 10, wherein the method further comprises enablingusers to correlate geolocations with virtual space locations such thatthe first space-geolocation correlation is recorded by the first user byspecifying that the first geolocation corresponds to the first virtualspace location.
 12. The method of claim 11, wherein the method furthercomprises responsive to a determination that the first geolocationsatisfies one or more spatial requirements, recording the firstspace-geolocation correlation.
 13. The system of claim 12, wherein thespatial requirements comprises one or more of: a minimum distancebetween geolocations correlated with corresponding virtual spacelocations; a geometry pattern among geolocations correlated withcorresponding virtual space locations; a position requirement specifyingrelative positions between or among geolocations based on the virtualspace locations to correlated with the geolocations; a real worldlocation type associated with a geolocation correlated with thecorresponding virtual space location.
 14. The system of claim 10,wherein the method further comprises generating requests requestingusers to correlate geolocations with virtual space locations, therequests including a first request requesting the first user tocorrelate the first virtual space location with a geolocation.
 15. Thesystem of claim 14, wherein the method further comprises specifying inthe first request one or more spatial requirements to be satisfied bythe first geolocation.
 16. The system of claim 10, wherein the firstuser action type is defending, attacking, mining, logging, farming,managing, surveying, training, researching, constructing, or recruiting.17. The system of claim 10, wherein the individual user request furtherspecifies an activity type in the virtual space and the user informationfurther include user selected space-geolocation correlations betweengeolocations and activity types in the virtual space such that the userinformation include a first user information associated with the firstuser that includes a second space-geolocation correlation between afirst activity type and a second geolocation, and responsive toreceiving a request from the first user that specifies the firstactivity type, and responsive to the current geolocation of the firstuser being the second geolocation, executing an activity of the firstactivity type in the instance of the virtual space.
 18. The system ofclaim 17, wherein the first activity type is buying virtual items,selling virtual items, completing a quest, participating in atournament, performing diplomacy, consulting with a virtual spaceexpert, forming an alliance, conducting an alliance meeting or messagingone or more other users in the virtual space.